#pragma once

#include "GamePart.h"

namespace _DATAPART_
{
	namespace _GAME_
	{

		class Engine:
			public GamePart
		{
			FoDeclareRTTI;
		public:
			Engine(void);
			~Engine(void);

			_FOGGE_::foFloat m_fSpeed;
			_FOGGE_::foFloat m_fAngluarSpeed;
		protected:
			void CopyFrom(aDataPartBase* ptrSource);

		};
	}
}

namespace _DATAPARTFACTORY_
{
	namespace _GAME_
	{
		class EngineFactory
			:public GamePartFactory
		{
		public:
			EngineFactory(void);
			~EngineFactory(void);

			virtual _FOGGE_::_GDB_::aDataPartBase* GetNewPart();

			_FOGGE_::_GDB_::aDataPartBase* LoadPart(TiXmlNode* ptrNode);
			
			_FOGGE_::_GDB_::aDataPartBase* CreatePart();

		};
	}
}
